package com.he.hsdyc.designmodule.state;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;

@Data
@Slf4j
public class Room {

    private State state;

    private String roomNum;

    /**
     * 功能描述: 预定
     */
    public void bookRoom() {
        state.Book(this);
    }

    /**
     * 功能描述: 取消预定
     */
    public void unBookRoom() {
        state.unBook(this);
    }

    /**
     * 功能描述: 入住
     */
    public void checkinRoom() {
        state.checkin(this);
    }

    /**
     * 功能描述: 退房
     */
    public void checkoutRoom() {
        state.checkout(this);
    }

    /**
     * 功能描述: 房间状态
     */
    public void showRoomState() {
      log.info(roomNum+state.getStateDescription());
    }
}
